home *** CD-ROM | disk | FTP | other *** search
- 2 PRINT"[147]":POKE53280,12:POKE53281,11:POKE646,1
- 3 POKE49152,10:IFPEEK(49152)<>10THENC0=1:GOTO6
- 6 DIMDOS%(65)
- 7 FR=FRE(0):IFFR<0THENFR=FR+65536:CNAX=0
- 8 S=(FR-400)/2:M2=INT(S/256)+1
- 10 CHO=0:PRINT"[147]";
- 15 PRINT" ******************"
- 16 PRINT" * MSD SD-2 *"
- 20 PRINT" * DISK MANAGER *"
- 21 PRINT" * PAGE 1 *"
- 25 PRINT" ******************"
- 50 PRINT:PRINT" 1. DISK DIRECTORY"
- 60 PRINT" 2. FORMAT NEW DISK"
- 70 PRINT" 3. INITIALIZE DISK"
- 80 PRINT" 4. COPY FILE ON SAME DISK"
- 85 PRINT" 5. COPY FILE ON A DIFFERNT DISK"
- 88 PRINT" 6. COPY BOTH DOS WEDGE PROGRAMS"
- 90 PRINT" 7. RENAME FILE"
- 100 PRINT" 8. ERASE FILE(S)"
- 110 PRINT" 9. VALIDATE FILES"
- 120 PRINT" 10. WRITE MSD SD-2 DISK MANAGER"
- 130 PRINT" 11. ERROR STATUS"
- 140 PRINT" 12. EXIT TO BASIC"
- 141 PRINT" 13. MSD FILE LOCKER"
- 142 PRINT" 14. MSD UNSCRATCH"
- 143 PRINT" 15. MSD/C64 AUTOSTART"
- 145 PRINT" 16. PAGE 2 [146]"
- 170 INPUT" CHOICE [157][157][157][157]";CHOICE
- 180 IF(CHO<1)OR(CHO>19)THENPRINT"[145]";:GOTO170
- 200 ONCHOGOSUB250,300,350,400,900,1200,450,500,550,600,650,700,211,212,213,215
- 210 GOTO10
- 211 GOTO1300
- 212 GOTO1330
- 213 GOTO1320
- 215 GOTO1500
- 250 REM***DISPLAY DIRECTORY***
- 251 PRINT"[147] DISK DIRECTORY [146]"
- 252 GOSUB1750
- 253 OPEN1,8,0,"$"+DR$
- 254 N$=CHR$(0)
- 255 GET #1,A$,A$
- 256 GET#1,A$,A$
- 257 IFA$=""GOTO284
- 258 GET#1,A$,B$
- 260 PRINTASC(A$+N$)+ASC(B$+N$)*256;
- 262 GET#1,A$
- 264 IFA$=""THENPRINT:GOTO256
- 266 PRINTA$;
- 268 GOTO262
- 284 CLOSE1:PRINT:PRINT:PRINT" HIT ANY KEY TO RETURN"
- 290 GETX$:IFX$=""THEN290
- 295 RETURN
- 300 REM *** FORMAT (NEW) DISK ***
- 301 PRINT"[147] FORMAT A NEW DISK [146]"
- 302 GOSUB1750:PRINT""
- 305 PRINT" INSERT DISK TO BE FORMATED IN DRIVE # "+DR$
- 310 INPUT" INPUT DISK NAME";DISK$
- 320 PRINT:INPUT" INPUT ID NAME";EXT$
- 325 MACRO$="N"+DR$+":"+DISK$+","+EXT$
- 330 OPEN15,8,15,MACRO$
- 340 CLOSE15:MACRO$="":RETURN
- 350 CNAX=0:REM *** INITIALIZE DISK ***
- 355 PRINT"[147] INITIALIZE DISK [146]"
- 356 GOSUB1750:IFCNAX=8THENRETURN
- 360 PRINT" INSERT DISK TO BE INITIALIZED"
- 365 PRINT" IN DRIVE # "DR$
- 370 PRINT" HIT <RETURN> TO INITIALIZE"
- 371 GETI$:IFI$=""THEN371
- 372 IFI$<>CHR$(13)THEN372
- 380 OPEN15,8,15,"I"+DR$
- 390 CLOSE15:RETURN
- 400 REM *** COPY FILE ON SAME DISK ***
- 405 T$="COPY FILE ON SAME DISK"
- 406 GOSUB800
- 407 PRINTTAB(10)" COPY FILE ON SAME DISK [146]":PRINT
- 410 PRINT" SOURCE FILE NAME "+N$(P):PRINT
- 420 PRINT:INPUT" INPUT NEW FILE NAME";NWS$
- 425 MACRO$="C"+DR$+":"+NWS$+"="+DR$+":"+N$(P)
- 430 OPEN15,8,15,MACRO$
- 440 CLOSE15:MACRO$="":RETURN
- 450 REM *** RENAME FILE ***
- 455 T$=" RENAME A FILE "
- 456 GOSUB800
- 460 PRINT"[147]":PRINT"OLD FILE NAME ";N$(P)
- 470 INPUT" INPUT NEW FILE NAME ";NWS$
- 475 MACRO$="R"+DR$+":"+NWS$+"="+DR$+":"+N$(P)
- 480 OPEN15,8,15,MACRO$
- 490 CLOSE15:MACRO$="":RETURN
- 500 REM *** SCRATCH FILE ***
- 502 DR$=NO$
- 505 T$=" SCRATCH FILE ":GOSUB800
- 510 PRINT"[147] FILE NAME TO BE SCRATCHED ";N$(P)
- 520 PRINT" HIT ANY KEY TO DELETE"
- 525 GETX$:IFX$=""THEN525
- 530 MACRO$="S"+NO$+":"+N$(P)
- 535 OPEN15,8,15,MACRO$
- 540 CLOSE15:MACRO$="":RETURN
- 550 REM *** VALIDATE FILES ***
- 555 PRINT"[147] VALIDATE A DISK [146]":PRINT
- 560 FORI=18TO1STEP-1:FL=I
- 561 GOSUB1750
- 570 PRINT:PRINT:PRINT" HIT ANY KEY TO VALIDATE"
- 575 GETX$:IFX$=""THEN575
- 580 OPEN1,8,15,"V0:"
- 590 CLOSE1:RETURN
- 600 REM *** WRITE MSD MANAGER PROGRAM ***
- 605 PRINT"[147] WRITE MSD SD-2 DISK MANAGER [146]"
- 606 GOSUB1750
- 610 PRINT" INSERT DISK TO BE WRITTEN TO."
- 620 PRINT:PRINT:PRINT" HIT ANY KEY TO WRITE MSD MANAGER"
- 622 GETX$:IFX$=""THEN622
- 625 OPEN1,8,15
- 630 SAVE"@"+DR$+":MSD MANAGER V1.7",8,1
- 635 CLOSE1
- 640 RETURN
- 650 REM *** DISPLAY ERROR STATUS ***
- 655 OPEN15,8,15
- 660 INPUT#15,A,A$,B$,C$
- 661 IFA=0THENRETURN
- 670 PRINT"[147]":PRINT:PRINT
- 680 PRINT" ERROR STATUS: "A$:PRINT:PRINT" ERROR NUMBER: "A:PRINT" TRACK: "B$
- 685 PRINT" SECTOR: "C$
- 690 PRINT:PRINT:PRINT" HIT ANY KEY TO RETURN"
- 695 GETX$:IFX$=""THEN695
- 697 CLOSE15:CNAX=8:RETURN
- 700 REM *** RETURN TO BASIC ***
- 705 PRINT"[147]":PRINT:PRINT
- 710 PRINT" NOTE: MSD SD-2 DISK MANAGER STILL RESIDENT IN MEMORY !"
- 720 END
- 800 REM *** CHOICE OF MENU ***
- 802 POKE53280,0:POKE53281,0
- 804 DIMN$(100):CX=54272:PRINT"[147]"
- 806 PRINT"[147][144]":X$=" "
- 808 FORX=1TO5:PRINTX$:NEXT
- 810 PRINT"":PRINTCHR$(117);
- 812 FORX=1TO38:PRINTCHR$(100);:NEXT
- 814 PRINTCHR$(105);:FORX=1TO5
- 816 PRINTCHR$(103)SPC(38)CHR$(104)" "CHR$(157);:NEXT
- 818 PRINTCHR$(106);:FORX=1TO38:PRINTCHR$(102);:NEXT:PRINTCHR$(107)
- 820 PRINT""TAB(9)"* MSD "+T$+" *"
- 822 PRINT"[145][145][145]"
- 824 GOSUB1750
- 826 PRINTTAB(12)"[158]READING DIRECTORY"
- 828 OPEN1,8,0,"$"+DR$
- 830 GET#1,B$:IFST<>0THEN850
- 832 IFF>=27THEN850
- 834 IFB$<>CHR$(34)THEN830
- 836 N$="":PRINT"":POKE214,8:PRINT
- 838 GET#1,B$:IFB$<>CHR$(34)THENN$=N$+B$:GOTO838
- 840 GET#1,B$:IFB$=CHR$(32)THEN840
- 842 IFLEFT$(N$,1)=" "THENF=F-1:GOTO$+B$:GOTO846
- 844 N$(F)=" "+N$
- 846 GET#1,B$:IFB$<>""THEN846
- 848 IFST=0THENF=F+1:GOTO830
- 850 CLOSE1
- 852 FORE=1TOF/2:PRINT""CHR$(64+E)""N$(E):NEXT
- 854 PRINT"":POKE214,8:PRINT
- 856 FORE=F/2+1TOF:PRINTSPC(20)""CHR$(64+E)""N$(E):NEXT
- 858 PRINT""
- 860 PRINTTAB(5)" PRESS LETTER KEY TO "
- 862 PRINTTAB(12)T$
- 864 GETM$:IFM$=""THEN864
- 866 IFM$=CHR$(13)THENRUN
- 868 IFM$<"A"ORM$>CHR$(64+F)THEN864
- 870 P=ASC(M$)-64:PRINT"[147]"
- 874 N$(P)=MID$(N$(P),2,LEN(N$(P)))
- 875 RETURN
- 876 OPEN15,8,15:PRINT#15,"C1:"+N$+"=0:"+N$
- 900 REM *** COPY ON DIFFERNT DISK ***
- 905 PRINT"[147]DUPLICATE DISK ? (Y/N)"
- 906 GETDU$:IFDU$=""THEN906
- 908 IFDU$="Y"THEN1190
- 909 IFDU$="N"THEN1001
- 1000 GOTO906
- 1001 PRINT"[147]DO YOU WISH TO NEW A DISK ? (Y/N)"
- 1002 GETDU$:IFDU$=""THEN1002
- 1003 IFDU$="Y"THENGOSUB300:GOTO1006
- 1004 IFDU$="N"THEN1006
- 1005 GOTO1002
- 1006 T$=" MSD SD-2 FILE COPIER"
- 1007 GOSUB800
- 1008 PRINTTAB(16)"[147] MSD FILE COPIER [146]"
- 1010 PRINT"DRIVE # "+DR$+" IS THE SOURCE DRIVE"
- 1011 ZP$=CHR$(48):IFDR$=CHR$(48)THENZP$=CHR$(49)
- 1012 PRINT"PLACE DESTNATION DISK INTO DRIVE # "+ZP$
- 1014 PRINT"PRESS RETURN TO COPY"
- 1016 GETD$:IFD$=""THEN1016
- 1017 IFD$<>CHR$(13)THEN1016
- 1020 OPEN15,8,15:PRINT#15,"C"+ZP$+":"+N$(P)+"="+DR$+":"+N$(P)
- 1021 PRINT"[147]ANY OTHER FILES TO COPY ? (Y/N)"
- 1022 GETD$:IFD$=""THEN1022
- 1024 IFD$="Y"THEN1007
- 1026 IFD$="N"THENRUN
- 1028 GOTO1022
- 1190 PRINT"[147] PLACE SOURCE DISK INTO DRIVE # 1"
- 1192 PRINT"PLACE DESTNATION DISK INTO DRIVE # 0"
- 1193 PRINT" CAUTION [146][160]!! THIS WILL FORMAT THE DESTNATION DISK !!"
- 1194 PRINT"PRESS RETURN TO COPY"
- 1195 GETD$:IFD$=""THEN1195
- 1196 IFD$<>CHR$(13)THEN1195
- 1198 OPEN15,8,15:PRINT#15,"D0=1"
- 1199 CLOSE15:RETURN
- 1200 REM *** COPY BOTH DOS PROGRAMS ***
- 1204 PRINT:PRINT" USE DRIVE # 0 ":PRINT:PRINT
- 1205 PRINT"[147]":PRINT" INSERT SOURCE DISK WITH WEDGE AND/OR DOS";
- 1210 PRINT" PROGRAM(S) AND PRESS <REETURN>"
- 1215 GETW$:IFW$=""THEN1215
- 1218 TYPE$="P"
- 1219 IFC0=1THENFILE$=" VIC-20 WEDGE":GOTO1235
- 1220 FILE$=" C-64 WEDGE":GOSUB1000
- 1225 FORC=1TO64:DOS%(C)=TEMP%(C):NEXT C:REM MOVE C -64 WEDGE TO SMALL BUFFER
- 1230 FILE$="DOS 5.1"
- 1232 PRINT:PRINT" USE DRIVE # 1 ":PRINT:PRINT
- 1235 GOSUB1000:PRINT:PRINT" INSERT DESTINATION DISK AND PRESS <RETURN>"
- 1240 GETW$:IFW$=""THEN1240
- 1245 GOSUB1050:IFC0=1THENRETURN
- 1250 FORC=1TO64:TEMP%(C)=DOS%(C):NEXT C
- 1255 FILE$=" C-64 WEDGE"I=64:GOSUB1050:REM WRIGHT C-64 WEDGE
- 1290 RETURN
- 1300 IFTEST=0THENTEST=1:LOAD"MSD FILE LOCKER",8,1
- 1320 IF TEST2=0THENTEST2=1:LOAD"C64 AUTOSTART",8,1
- 1330 IFTEST1=0THENTEST1=1:LOAD"MSD UNSCRATCH",8,1
- 1400 OPEN15,8,15,"I0"
- 1410 PRINT#15,"M-R"CHR$(00)CHR$(192)CHR$(3)
- 1420 GET#15,A$:GET#15,B$:GET#15,C$
- 1430 IFB$<>"."THENPRINT" ERROR [146]":GOTO60
- 1440 D$=A$+B$+C$:PRINT"[147]":PRINT " MSD DOS V "+D$+" [146]"
- 1450 CLOSE15:PRINT" PRESS SHIFT KEY TO CONTINUE"
- 1460 WAIT653,1
- 1500 CLR:PRINT"[147]"
- 1501 PRINT" ******************"
- 1502 PRINT" * MSD SD-2 *"
- 1503 PRINT" * DISK MANAGER *"
- 1504 PRINT" * PAGE 2 *"
- 1505 PRINT" ******************"
- 1506 PRINT:PRINT" 1. RETURN TO PAGE 1 [146]"
- 1507 PRINT" 2. MSD DOS FINDER"
- 1508 PRINT" 3. QUICK MERGE"
- 1509 PRINT" 4. MSD RENUMBER"
- 1540 INPUT" CHOICE [157][157][157][157]";CH2
- 1541 IF(CH2<1)OR(CH2>16)THENPRINT"[145]";:GOTO1540
- 1542 ONCHOGOSUB10,1400,1660,2202
- 1604 GET#FI,BY$:IFBY$<>""THENPRINT#3,BY$;:GOTO1604
- 1606 PRINT#3,NU$;:RETURN
- 1608 GET#FI,BY$:IFBY$=""THENBY=0:RETURN
- 1610 BY=ASC(BY$):RETURN
- 1612 DV=WD/256:HI=INT(DV):LO=WD-HI*256:PRINT#3,CHR$(LO);CHR$(HI);:RETURN
- 1614 GOSUB1608:LO=BY:GOSUB1608:LI(FI)=BY*256+LO
- 1616 GOSUB1608:LO=BY:GOSUB1608:LN(FI)=BY*256+LO
- 1618 IFLI(FI)>0THENPRINTTAB((FI-1)*9);LN(FI);"[145]"
- 1620 CA(FI)=CA(FI)+LS(FI):LS(FI)=LI(FI)-CA(FI):RETURN
- 1622 LI(3)=LI(3)+LS(FI):WD=LI(3):GOSUB1612:WD=LN(FI):GOTO1612
- 1624 GOSUB1622:GOSUB1604:GOTO1614
- 1626 IFLI(1)=0ANDLI(2)=0THENRETURN
- 1628 IFLI(2)=0THENFI=1:GOSUB1624:GOTO1626
- 1630 IFLI(1)=0THENFI=2:GOSUB1624:GOTO1626
- 1632 IFLN(1)<LN(2)THENFI=1:GOSUB1624:GOTO1626
- 1634 IFLN(1)>LN(2)THENFI=2:GOSUB1624:GOTO1626
- 1636 FI=1:GOSUB1624:FI=2:GOSUB1638:GOTO1626
- 1638 GET#FI,BY$:IFBY$<>""THEN1638
- 1640 GOTO1614
- 1642 GOSUB1608:LO=BY:GOSUB1608:CA(FI)=BY*256+LO:RETURN
- 1644 WD=CA(3):GOTO1612
- 1646 PRINTPROMPT$;"[160][160][160][160][160][157][157][157][157][157]";
- 1648 INPUTFI$:FC$=LEFT$(FI$,1)
- 1650 NULL=FC$="[160]":QUIT=FC$="*":RETURN
- 1652 OPENFI,8,FI+2,"0:"+FI$
- 1654 INPUT#15,EN,EM$,ET,ES
- 1656 ERR=EN>19:IFERRTHENPRINTEN;EM$:CLOSEFI
- 1658 RETURN
- 1660 DIMCA(3),LI(3),LN(2),LS(2)
- 1662 NU$=CHR$(0)
- 1664 PRINT:PRINT" DISK MERGE "
- 1666 OPEN15,8,15
- 1668 FI=1:PROMPT$=" PRIMARY FILE"
- 1670 GOSUB1646:IFNULLTHEN1670
- 1672 IFQUITTHEN1722
- 1674 GOSUB1652:IFERRTHEN1670
- 1676 FI=2:PROMPT$="SECONDARY FILE"
- 1678 GOSUB1646:SECNULL=NULL
- 1680 IFSECNULLTHENPRINT"*RELOCATE ONLY*":GOTO1688
- 1682 IFQUITTHEN1722
- 1684 AF$=FI$
- 1686 GOSUB1652:IFERRTHEN1678
- 1688 FI=3:PROMPT$=" MERGED FILE"
- 1690 GOSUB1646:IFNULLTHEN1690
- 1692 IFQUITTHEN1722
- 1694 FI$=FI$+",P,W":GOSUB1652:IFERR=0THEN1706
- 1696 IFEN<>70THEN1690
- 1698 PRINT"[145] [145]"
- 1700 BF$=FI$:CLOSE2:GOSUB1652:E2=ERR
- 1702 FI=2:FI$=AF$:GOSUB1652:FI=3:FI$=BF$
- 1704 IFE2THEN1688
- 1706 INPUT" BASE ADDRESS 1025[157][157][157][157][157][157]";BASE$
- 1708 IFLEFT$(BASE$,1)="*"THEN1722
- 1710 CA(3)=VAL(BASE$):LI(3)=CA(3)
- 1712 FI=1:GOSUB1642:GOSUB1614
- 1714 IFNOTSECNULLTHENFI=2:GOSUB1642:GOSUB1614
- 1716 GOSUB1644
- 1718 GOSUB1626
- 1720 PRINT#3,NU$;NU$;
- 1722 CLOSE3:CLOSE2:CLOSE1:CLOSE15
- 1724 CLR:GOTO10
- 1750 PRINT:PRINT" WHICH DISK DRIVE (0/1) ? [146]";
- 1752 GETDR$:IFDR$<>"1"ANDDR$<>"0"THEN1752
- 1754 PRINTTAB(34)DR$:D=VAL(DR$):RETURN
- 2202 POKE53280,0:POKE53281,0:POKE646,1:MX=300:DIMLN(MX)
- 2204 PRINT"[147] BASIC FILE RENUMBER [146]":GOSUB2328:Z$=CHR$(0)
- 2206 PRINT" USE DRIVE# 0 [146]"
- 2208 CLOSE2:CLOSE3:CLOSE15:PRINT:INPUT" OLD PROGRAM NAME ";F1$
- 2210 INPUT" NEW PROGRAM NAME ";F2$:IFIC<>0THEN2224
- 2212 INPUT" STARTING LINE NUMBER ";SN
- 2214 SN=INT(SN):IFSN<0THEN2212
- 2216 INPUT" INCREMENT ";IC
- 2218 IC=INT(IC):IFIC<1THEN2216
- 2220 INPUT" CROSS REFERANCE (Y/N) ";RF$:IFRF$<>"Y"ANDRF$<>"N"THEN2220
- 2222 IFRF$="Y"THENDIMCR$(MX)
- 2224 PRINT" OPENING FILES":OPEN15,8,15
- 2226 PRINTTAB(5)F1$:OPEN2,8,2,"0:"+F1$+",P,R":GOSUB2320:IFER>0THEN2208
- 2228 PRINTTAB(5)F2$:OPEN3,8,3,"0:"+F2$+",P,W":GOSUB2320:IFER>0THEN2208
- 2230 PRINT" PASS 1 [146]":PRINT
- 2232 GET#2,A$:GET#2,B$:NL=0:L1=ASC(A$+Z$)+256*ASC(B$+Z$)
- 2234 GET#2,A$:GET#2,B$:L2=ASC(A$+Z$)+256*ASC(B$+Z$):IFL2=0THEN2244
- 2236 GET#2,A$:GET#2,B$:LN(NL)=ASC(A$+Z$)+256*ASC(B$+Z$)
- 2238 PRINT" [145]LINE";LN(NL):NL=NL+1
- 2240 IFNL>=MXTHENPRINT" LINE TABLE OVERFLOW ":GOTO2316
- 2242 POKE828,L2-L1-4:SYS829:L1=L2:GOTO2234
- 2244 CLOSE2:OPEN2,8,2,"0:"+F1$+",P,R"
- 2246 PRINT" PASS 2 [146]":PRINT:GT=137:GS=141:TH=167:QU=34:LK=-1
- 2248 IFSN+NL*IC>63999THENPRINT" LINE NUMBER TOO BIG ":GOTO2316
- 2250 GET#2,A$:GET#2,B$:LL=0:L1=ASC(A$+Z$)+256*ASC(B$+Z$):N1=L1
- 2252 V=L1:GOSUB2326
- 2254 GET#2,A$:GET#2,B$:L2=ASC(A$+Z$)+256*ASC(B$+Z$):IFL2=0THEN2302
- 2256 GET#2,A$:GET#2,B$:CL=ASC(A$+Z$)+256*ASC(B$+Z$)
- 2258 LK=LK+1:PRINT" [145]LINE";CL
- 2260 L=L2-L1-4:POKE828,L:SYS829
- 2262 T2$="":I=851:L=L+I-1:QQ=0
- 2264 C=PEEK(I):IFC=QUTHENQQ=NOTQQ
- 2266 IFGT>CORQQTHEN2296
- 2268 IFGT<>CANDGS<>CANDTH<>CTHEN2296
- 2270 TY$=" ":IFC=GSTHENTY$=" *"
- 2272 T2$=T2$+CHR$(C):T3$="":I=I+1:NF=-1
- 2274 C=PEEK(I)
- 2276 IFC>47ANDC<58THENNF=0
- 2278 IF(C>47ANDC<58)ORC=32THENT3$=T3$+CHR$(C):I=I+1:GOTO2274
- 2280 IFNFTHEN2268
- 2282 J=0:TN=VAL(T3$):LN(NL)=TN
- 2284 IFLN(J)<>TNTHENJ=J+1:GOTO2284
- 2286 IFJ>=NLTHENPRINT" NONEXISTENT: "TN:PRINT:TN=0:GOTO2290
- 2288 TN=SN+IC*J
- 2290 T3$=STR$(TN):T2$=T2$+MID$(T3$,2)
- 2292 IFRF$="Y"THENCR$(J)=CR$(J)+TY$+MID$(STR$(SN+IC*LK),2)
- 2294 IFC=44THEN2272
- 2296 T2$=T2$+CHR$(C):I=I+1:IFI<=LTHEN2264
- 2298 N1=N1+LEN(T2$)+4:V=N1:GOSUB2326:V=SN+IC*LL:GOSUB2326
- 2300 PRINT#3,T2$;:LL=LL+1:L1=L2:GOTO2254
- 2302 PRINT#3,Z$+Z$;
- 2304 CLOSE2:CLOSE3:CLOSE15:IFRF$<>"Y"THEN2316
- 2306 PRINT" S=SCREEN":PRINT" P=PRINTER":PRINT" Q=QUIT"
- 2308 INPUT" CROSSREF(S/P/Q)";Q$:IFQ$="Q"THEN2316
- 2310 IFQ$="S"THENWI=40:OPEN4,3:GOSUB2338:CLOSE4:GOTO2308
- 2312 IFQ$="P"THENWI=80:OPEN4,4:GOSUB2338:CLOSE4:GOTO2308
- 2314 GOTO2308
- 2316 CLOSE2:CLOSE3:CLOSE15:PRINT:PRINT"DONE"
- 2318 END
- 2320 INPUT#15,ER,E1$,E2,E3:IFER=0THENRETURN
- 2322 PRINTER;E1$;E2;E3
- 2324 RETURN
- 2326 PRINT#3,CHR$(V-INT(V/256)*256);CHR$(INT(V/256));:RETURN
- 2328 S=0:FORI=829TO850:READV:POKEI,V:S=S+V:NEXTI
- 2330 IFS=3036THENRETURN
- 2332 PRINT"ERROR IN DATA STATEMENTS":END
- 2334 DATA162,2,32,198,255,162,0,32,207,255,157
- 2336 DATA83,3,232,206,60,3,208,244,76,204,255
- 2338 PRINT#4," CROSS - REFERENCE FOR "F2$
- 2340 PRINT#4," LINE REFERENCES ":BL$=" "
- 2342 FORI=0TONL:IFCR$(I)=""THEN2358
- 2344 J=2:IFI<>NLTHENN$=STR$(SN+IC*I)+BL$:PRINT#4,LEFT$(N$,7)"-";:GOTO2348
- 2346 PRINT#4," ERRORS ";
- 2348 K=1
- 2350 CH$=MID$(CR$(I),J,1):PRINT#4,CH$;:J=J+1:K=K+1:IFJ>LEN(CR$(I))THEN2356
- 2352 IFK>WI-14ANDCH$=" "THENPRINT#4:PRINT#4,BL$;:GOTO2348
- 2354 GOTO2350
- 2356 PRINT#4
- 2358 NEXTI:GOTO10
-